package com.wanmait.recycle.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.wanmait.recycle.pojo.Question;
import com.wanmait.recycle.util.Pager;

public interface QuestionService extends CommonService<Question> {

	//问题上线 
	void shangXian(Integer id);
	//问题下线
	void xiaXian(Integer id);
	//多问题上线
	void shangXianByIds(String ids);
	//多问题下线
	void xiaXianByIds(String ids);
	//通过垃圾id找问题
	PageInfo<Question> findAllByRubbishId(Integer rubbishId);
	//分页显示问题
	PageInfo<Question> findAllByPage();
	//通过垃圾id找问题
	List<Question> findByRubbishId(Integer rubbishId);
	//添加问题
	void addQuestion(Question question);
	//solr查询问题
	List<Question> seachBySolr(String keyword, Pager pager);
	//根据userinfoid查全部问题
	PageInfo<Question> findAllByUserId(Integer id);
	PageInfo<Question> findAllByRubbishIdAndUserinfoId(Integer rubbishId, Integer userinfoId);
	//获得所有的问题根据时间
	PageInfo<Question> findAllByPageAndTime();
	//获得所有的问题根据热度
	PageInfo<Question> findAllByPageAndRedu();
	
	/*同步队列*/
	void processCollectQueue();
	/*同步每个问题的收藏数量*/
	void processCollectCount();
	/*判断某用户是否对某问题收藏*/
	boolean isCollect(Integer questionId,Integer userinfoId);
	/*收藏*/
	void addCollect(Integer questionId,Integer userinfoId);
	/*取消收藏*/
	void removeCollect(Integer questionId,Integer userinfoId);
	/*获得某个用户收藏的所有文章*/
	PageInfo<Question> findCollectQuestion(Integer userinfoId);
	
	/*当一篇问题被浏览*/
	void addViewQuestion(Integer articleId,String ip);
	/*判断某问题是否被某用户浏览过&&浏览时间是否超过24小时*/
	/*此处返回为是否可以添加浏览，true为可以，false为不可以*/
	boolean isViewQuestion(Integer articleId,String ip);
	/*同步问题的浏览次数*/
	void processQuestionViewCount();
	Question findById2(Integer questionId);
}
